using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

namespace LHS.Win
{
    public class ImageComboItem
    {
        // Fields
        private Color forecolor;
        private int imageindex;
        private bool mark;
        private object tag;
        private string text;

        // Methods
        public ImageComboItem()
        {
            this.forecolor = Color.FromKnownColor(KnownColor.Transparent);
            this.mark = false;
            this.imageindex = -1;
            this.tag = null;
            this.text = null;
        }

        public ImageComboItem(string Text)
        {
            this.forecolor = Color.FromKnownColor(KnownColor.Transparent);
            this.mark = false;
            this.imageindex = -1;
            this.tag = null;
            this.text = null;
            this.text = Text;
        }

        public ImageComboItem(string Text, int ImageIndex)
        {
            this.forecolor = Color.FromKnownColor(KnownColor.Transparent);
            this.mark = false;
            this.imageindex = -1;
            this.tag = null;
            this.text = null;
            this.text = Text;
            this.imageindex = ImageIndex;
        }

        public ImageComboItem(string Text, int ImageIndex, bool Mark)
        {
            this.forecolor = Color.FromKnownColor(KnownColor.Transparent);
            this.mark = false;
            this.imageindex = -1;
            this.tag = null;
            this.text = null;
            this.text = Text;
            this.imageindex = ImageIndex;
            this.mark = Mark;
        }

        public ImageComboItem(string Text, int ImageIndex, bool Mark, Color ForeColor)
        {
            this.forecolor = Color.FromKnownColor(KnownColor.Transparent);
            this.mark = false;
            this.imageindex = -1;
            this.tag = null;
            this.text = null;
            this.text = Text;
            this.imageindex = ImageIndex;
            this.mark = Mark;
            this.forecolor = ForeColor;
        }

        public ImageComboItem(string Text, int ImageIndex, bool Mark, Color ForeColor, object Tag)
        {
            this.forecolor = Color.FromKnownColor(KnownColor.Transparent);
            this.mark = false;
            this.imageindex = -1;
            this.tag = null;
            this.text = null;
            this.text = Text;
            this.imageindex = ImageIndex;
            this.mark = Mark;
            this.forecolor = ForeColor;
            this.tag = Tag;
        }

        public override string ToString()
        {
            return this.text;
        }

        // Properties
        public Color ForeColor
        {
            get
            {
                return this.forecolor;
            }
            set
            {
                this.forecolor = value;
            }
        }

        public int ImageIndex
        {
            get
            {
                return this.imageindex;
            }
            set
            {
                this.imageindex = value;
            }
        }

        public bool Mark
        {
            get
            {
                return this.mark;
            }
            set
            {
                this.mark = value;
            }
        }

        public object Tag
        {
            get
            {
                return this.tag;
            }
            set
            {
                this.tag = value;
            }
        }

        public string Text
        {
            get
            {
                return this.text;
            }
            set
            {
                this.text = value;
            }
        }
    }


}
